package com.ballyza.gals;

public interface ParserConstants
{
    int START_SYMBOL = 52;

    int FIRST_NON_TERMINAL    = 52;
    int FIRST_SEMANTIC_ACTION = 86;

    int[][] PARSER_TABLE =
    {
        { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,  0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
        { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
        { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,  1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,  2, -1, -1, -1, -1, -1, -1 },
        { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 17, -1, -1, -1, -1, -1, -1, 17, -1, -1, 17, -1, 17, -1, 17, -1, -1, -1, -1, -1, 17, -1, -1, -1, -1, -1 },
        { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 19, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 18, 18, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
        { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
        { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
        { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,  3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
        { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,  5,  4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
        { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,  6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
        { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,  7,  8, -1,  7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
        { -1,  9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
        { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 15, -1, 13, -1, -1, -1, -1, 12, -1, 11, -1, -1, -1, 16, -1, 14, -1, -1, -1, -1, -1, -1, -1, -1 },
        { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 20, -1, -1, -1, -1, -1, -1, 25, -1, -1, 23, -1, 24, -1, 21, -1, -1, -1, -1, -1, 22, -1, -1, -1, -1, -1 },
        { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 26, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
        { -1, 27, 28, 29, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
        { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
        { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 31, -1, -1, -1, -1, -1 },
        { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 32, 32, -1, -1, -1, -1, 32, -1, -1, -1, -1, -1, -1, 32, -1, 32, -1, -1, -1, -1, -1, -1, -1, 32, -1, -1, -1, -1, -1, -1, -1, -1, -1, 32, -1, -1, 32, 32, 32, 32, 32 },
        { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 34, -1, 33, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
        { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 35, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
        { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 37, 36, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
        { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 38, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
        { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 39, 39, -1, -1, -1, -1, 39, -1, -1, -1, -1, -1, -1, 39, -1, 39, -1, -1, -1, -1, -1, -1, -1, 39, -1, -1, -1, -1, -1, -1, -1, -1, -1, 39, -1, -1, 39, 39, 39, 39, 39 },
        { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 41, 40, 42, -1, -1, 42, -1, 42, -1, -1, -1, -1, -1, 42, 42, -1, -1, -1, -1, -1, -1, -1, -1, -1, 42, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
        { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 43, 43, -1, -1, -1, -1, 46, -1, -1, -1, -1, -1, -1, 43, -1, 43, -1, -1, -1, -1, -1, -1, -1, 45, -1, -1, -1, -1, -1, -1, -1, -1, -1, 44, -1, -1, 43, 43, 43, 43, 43 },
        { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 47, 47, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 47, -1, 47, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 47, 47, 47, 47, 47 },
        { -1, -1, -1, -1, 49, 49, 49, 49, 49, 49, -1, -1, -1, -1, -1, -1, -1, 48, 48, 48, -1, -1, 48, -1, 48, -1, -1, -1, -1, -1, 48, 48, -1, -1, -1, -1, -1, -1, -1, -1, -1, 48, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
        { -1, -1, -1, -1, 50, 51, 52, 53, 54, 55, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
        { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 56, 56, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 56, -1, 56, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 56, 56, 56, 56, 56 },
        { -1, -1, -1, -1, 59, 59, 59, 59, 59, 59, 57, 58, -1, -1, -1, -1, -1, 59, 59, 59, -1, -1, 59, -1, 59, -1, -1, -1, -1, -1, 59, 59, -1, -1, -1, -1, -1, -1, -1, -1, -1, 59, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
        { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 60, 60, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 60, -1, 60, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 60, 60, 60, 60, 60 },
        { -1, -1, -1, -1, 65, 65, 65, 65, 65, 65, 65, 65, 61, 62, 63, 64, -1, 65, 65, 65, -1, -1, 65, -1, 65, -1, -1, -1, -1, -1, 65, 65, -1, -1, -1, -1, -1, -1, -1, -1, -1, 65, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
        { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 73, 74, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 72, -1, 66, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, 68, 69, 70, 71 }
    };

    int[][] PRODUCTIONS = 
    {
        {  87,  39,  26, 122,  20,  54,  27,  55,  32,  26,  88,  21 },
        {   0 },
        {  45,  59 },
        {  61,  22,  64, 111,  63,  20,  60 },
        {   0 },
        {  59 },
        {  26, 109,  62 },
        {   0 },
        {  23,  61 },
        {   2,  75, 112 },
        {   0 },
        {  37 },
        {  35 },
        {  30 },
        {  43 },
        {  28 },
        {  41 },
        {  65,  56 },
        {   0 },
        {  20,  55 },
        {  66 },
        {  68 },
        {  69 },
        {  72 },
        {  74 },
        {  33, 113 },
        {  26, 109,  67, 114,  75, 115 },
        {   2 },
        {   3 },
        {   4 },
        {  40,  24,  61,  25, 116 },
        {  46,  24,  70,  25 },
        {  75,  89,  71 },
        {   0 },
        {  23,  70 },
        {  36,  75, 117,  42,  55,  73,  32, 118 },
        {   0 },
        { 119,  31,  55 },
        { 120,  38,  55,  32, 121 },
        {  77,  76 },
        {  19,  77,  90,  76 },
        {  18,  77,  91,  76 },
        {   0 },
        {  78 },
        {  44,  92 },
        {  34,  93 },
        {  17,  77,  94 },
        {  81,  79 },
        {   0 },
        {  80,  95,  81,  96 },
        {   5 },
        {   6 },
        {   7 },
        {   8 },
        {   9 },
        {  10 },
        {  83,  82 },
        {  11,  83,  97,  82 },
        {  12,  83,  98,  82 },
        {   0 },
        {  85,  84 },
        {  13,  85,  99,  84 },
        {  14,  85, 100,  84 },
        {  15,  85, 101,  84 },
        {  16,  85, 102,  84 },
        {   0 },
        {  26, 110 },
        {  47, 103 },
        {  48, 104 },
        {  49, 105 },
        {  50, 106 },
        {  51, 107 },
        {  24,  75,  25 },
        {  11,  85 },
        {  12,  85, 108 }
    };

    String[] PARSER_ERROR =
    {
        "",
        "Era esperado fim de programa",
        "Era esperado =",
        "Era esperado +=",
        "Era esperado -=",
        "Era esperado ==",
        "Era esperado !=",
        "Era esperado <",
        "Era esperado <=",
        "Era esperado >",
        "Era esperado >=",
        "Era esperado +",
        "Era esperado -",
        "Era esperado *",
        "Era esperado /",
        "Era esperado '\'",
        "Era esperado %",
        "Era esperado !",
        "Era esperado &",
        "Era esperado |",
        "Era esperado ;",
        "Era esperado .",
        "Era esperado :",
        "Era esperado ','",
        "Era esperado (",
        "Era esperado )",
        "Era esperado identificador",
        "Era esperado begin",
        "Era esperado boolean",
        "Era esperado const",
        "Era esperado data",
        "Era esperado else",
        "Era esperado end",
        "Era esperado exit",
        "Era esperado false",
        "Era esperado float",
        "Era esperado if",
        "Era esperado int",
        "Era esperado loop",
        "Era esperado module",
        "Era esperado read",
        "Era esperado string",
        "Era esperado then",
        "Era esperado time",
        "Era esperado true",
        "Era esperado var",
        "Era esperado write",
        "Era esperado constante inteira",
        "Era esperado constante real",
        "Era esperado constante data",
        "Era esperado constante hora",
        "Era esperado constante literal",
        "Era esperado module",
        "Era esperado begin, const, var",
        "Era esperado begin, var",
        "Era esperado identificador, exit, if, loop, read, write",
        "Era esperado ;, else, end",
        "Era esperado identificador",
        "Era esperado identificador, begin, var",
        "Era esperado identificador, ",
        "Era esperado identificador, begin",
        "Era esperado identificador",
        "Era esperado :, ',', )",
        "Era esperado +, -, !, ;, (, identificador, false, true, constante inteira, constante real, constante hora, constante literal",
        "Era esperado boolean, data, float, int, string, time",
        "Era esperado identificador, exit, if, loop, read, write",
        "Era esperado identificador",
        "Era esperado =, +=, -=",
        "Era esperado read",
        "Era esperado write",
        "Era esperado +, -, !, (, identificador, false, true, constante inteira, constante real, constante data, constante hora, constante literal",
        "Era esperado ',', )",
        "Era esperado if",
        "Era esperado else, end",
        "Era esperado loop",
        "Era esperado +, -, !, (, identificador, false, true, constante inteira, constante real, constante data, constante hora, constante literal",
        "Era esperado &, |, ;, ',', ), else, end, then",
        "Era esperado +, -, !, (, identificador, false, true, constante inteira, constante real, constante data, constante hora, constante literal",
        "Era esperado +, -, (, identificador, constante inteira, constante real, constante data, constante hora, constante literal",
        "Era esperado ==, !=, <, <=, >, >=, &, |, ;, ), else, end, then",
        "Era esperado ==, !=, <, <=, >, >=",
        "Era esperado +, -, (, identificador, constante inteira, constante real, constante data, constante hora, constante literal",
        "Era esperado ==, !=, <, <=, >, >=, +, -, &, |, ;, ',', ), else, end, then",
        "Era esperado +, -, (, identificador, constante inteira, constante real, constante data, constante hora, constante literal",
        "Era esperado ==, !=, <, <=, >, >=, +, -, *, '\', /, %, &, |, ;, ',', ), else, end, then",
        "Era esperado +, -, (, identificador, constante inteira, constante real, constante data, constante hora, constante literal"
    };
}
